#pragma once
/*
 * Created by: Mark Lavrynenko
 * Email:	MarkLavrinenko@gmail.com
 * Project:	  Huffman
*/

#include "datasource.h"
#include <stdio.h>

class FileDataSource :
	public DataSource
{
public:
	FileDataSource(char const *fileName);
	~FileDataSource(void);
	virtual uint8_t getNextByte();
	virtual int16_t getNextInt16();
	virtual int32_t getNextInt32();
	virtual bool hasNextByte();
	virtual void rewind();
private:
	FILE* f;
	int nextByte;
};

